home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / rayshade / Doc / quickref.txt < prev    next >
Text File  |  1994-08-01  |  10KB  |  235 lines

  1.                       Rayshade Quick Reference
  2.  
  3. -------------------------------------------------------------------------------
  4. Key:
  5. [thing]  Optional item              <Thing>  Production
  6. Thing    Number or String           (thing)  Default value(s)
  7. thing    Keyword
  8. -------------------------------------------------------------------------------
  9.  
  10. Reals and integers may be written in exponential notation, with or without a
  11. decimal point.  Reals are truncated to integers when need be.  Numbers may also
  12. be written as expressions surrounded by a matched pair of parentheses.
  13. Subexpressions may be parenthesized to control order of evaluation.  Variables
  14. may be defined and used in parenthesized expressions.  Predefined variables
  15. include time (current time) and frame (current frame number, 0 - frames-1), pi,
  16. dtor (pi/180), rotd (180/pi).  Available operators are '+' (addition),
  17. '-' (subtraction and negation), '*' (multiplication), '/' (division),
  18. '%' (remainder), '^' (exponentiation).  Functions include sin, cos, tan, asin,
  19. acos, atan, sqrt, hypot.
  20.  
  21. Strings are written as non-quoted strings that may include include the
  22. special characters '/' ("slash"), '-' ("dash"), '_' ("underscore), and '.'
  23. ("period"), in addition to upper and lowercase letters and non-leading digits.
  24.  
  25. -------------------------------------------------------------------------------
  26. Command-line options (override options set in input file):
  27.  
  28. -A frame       First frame to render 
  29. -a             Toggle alpha channel   -C cutoff      Adaptive tree cutoff 
  30. -c             Continued rendering    -D depth       Maximum ray tree depth.
  31. -E eye_sep     Eye separation         -e             Exponential RLE output
  32. -F freq        Report frequency       -f             Flip triangle normals
  33. -G gamma       Gamma exponent         -g             Use gaussian filter
  34. -h             Help                   -j             Toggle jittered sampling
  35. -l             Render left eye view   -m             Produce sample map
  36. -N frames      Total frames to render -n             No shadows
  37. -O outfile     Output file name       -o             Toggle opaque shadows 
  38. -P cpp-args    Arguments for cpp      -p             Preview-quality
  39. -q             Run quietly            -R xres yres   Resolution
  40. -r             Right eye view         -S samples     Use Samples^2 samples
  41. -s             Toggle shadow caching  -T r g b       Contrast threshold
  42. -u             Toggle use of cpp      -V filename    Verbose file output
  43. -v             Verbose output         -W lx hx ly hy Render subwindow
  44. -X l r b t     Crop window
  45. -------------------------------------------------------------------------------
  46.  
  47. File: /* Input file consists of...*/
  48.         <Item> [<Item> ... ]
  49.  
  50. Item:
  51.         <Viewing>
  52.         <Light>
  53.         <Atmosphere>
  54.         <RenderOption>
  55.         <ObjItem>
  56.         <Definition>
  57.  
  58. ObjItem: /* Items used in object definition blocks */
  59.         <SurfDef>
  60.         <ApplySurf>
  61.         <Instance>
  62.         <ObjDef>
  63.  
  64. Viewing:
  65.         eyep Xpos Ypos Zpos     /* Eye position (0 -10 0) */
  66.         lookp Xpos Ypos Zpos    /* Look position (0 0 0) */
  67.         up Xup Yup Zup          /* "up" vector (0 0 1) */
  68.         fov Hfov [Vfov]         /* Field of view in degrees (horiontal=45) */
  69.         aperture Width          /* Aperture width (0) */
  70.         focaldist Distance      /* focal distance (|eyep - lookp|) */
  71.         shutter Speed           /* Shutter speed (0 --> no blur) */
  72.         framelength Length      /* Length of a singelf frame (1) */
  73.         screen Xsize Ysize      /* Screen size */
  74.         window Xmin Xmax Ymin Ymax /* Window (0 xsize-1 0 ysize-1) */
  75.         crop left right bot top /* Crop window (0 1 0 1) */
  76.         eyesep Separation       /* eye separation (0) */
  77.  
  78. SurfDef: /* Give a name to a set of surface attributes. */
  79.         surface Name <SurfSpec> [<SurfSpec> ...]
  80.  
  81. Surface: /* Surface specification */
  82.         <SurfSpec>                /* Use gven attributes */
  83.         Surfname [<SurfSpec> ...] /* Use named surface w/ optional mods. */
  84.         cursurf  [<SurfSpec> ...] /* Use cur. surface w/mods - see ApplySurf */
  85.  
  86. SurfSpec: /* Surface attribute specification */
  87.         ambient R G B           /* Ambient contribution */
  88.         diffuse R G B           /* Diffuse color */
  89.         specular R G B          /* Specular color */
  90.         specpow Exponent        /* Phong exponent */
  91.         body R G B              /* Body color */
  92.         extinct Coef            /* Extinction coefficient */
  93.         transp Ktr              /* Transparency */
  94.         reflect Kr              /* Reflectivity */
  95.         index N                 /* Index of refraction */
  96.         translu Ktl R G B Stpow /* Translucency, transmit diffuse, spec exp */
  97.         noshadow                /* No shadows cast on this surface */
  98.  
  99. Effect: /* Atmospheric Effects */
  100.         mist   R G B Rtrans Gtrans Btrans Zero Scale
  101.         fog    R G B Rtrans Gtrans Btrans
  102.  
  103. Atmosphere: /* Global atmosphere */
  104.         atmosphere [Index] <Effect> [<Effect>...] /* Global index, effects */
  105.  
  106. ApplySurf:
  107.         applysurf <Surface> /* apply surf to all following objs w/o surface */
  108.  
  109. Instance: /* Instance of an object */
  110.         <Object> [<Transforms>] [<Textures>] 
  111.  
  112. Object:
  113.         Primitive        /* Primitive object */
  114.         Aggregate        /* Named aggregate */
  115.  
  116. ObjDef: /* define a named object */
  117.         name Objname <Instance>
  118.         
  119. Primitive: /* Primitive object */
  120.         plane    [<Surface>] Xpos Ypos Zpos Xnorm Ynorm Znorm
  121.         disc     [<Surface>] Radius Xpos Ypos Zpos Xnorm Ynorm Znorm
  122.         sphere   [<Surface>] Radius Xpos Ypos Zpos
  123.         triangle [<Surface>] Xv1 Yv1 Zv1
  124.                              Xv2 Yv2 Zv2  Xv3 Yv3 Zv3/* flat-shaded triangle */
  125.         triangle [<Surface>] Xv1 Yv1 Zv1 Xn1 Yn1 Zn1
  126.                              Xv2 Yv2 Zv2 Xn2 Yn2 Zn2
  127.                              Xv3 Yv3 Zv3 Xn3 Yn3 Zn3/* Phong-shaded triangle */
  128.         polygon  [<Surface>] Xv1 Yv1 Zv1
  129.                              Xv2 Yv2 Zv2  Xv3 Yv3 Zv3 [Xv3 Yv4 Zv4 ...]
  130.         box      [<Surface>] Xlow Ylow Zlow
  131.                              Xhi  Yhi  Zhi
  132.         cylinder [<Surface>] Radius Xbase Ybase Zbase Xapex Yapex Zapex
  133.         cone     [<Surface>] Rbase Xbase Ybase Zbase  Rapex Xapex Yapex Zapex
  134.         torus    [<Surface>] Rswept Rtube Xpos Ypos Zpos Xnorm Ynorm Znorm
  135.         blob     [<Surface>] Thresh Stren Rad Xpos Ypos Zpos
  136.                              [Stren Rad X Y Z ...]
  137.         heightfield [<Surface>] Filename
  138.  
  139. Aggregate:
  140.         Grid
  141.         List
  142.         Csg
  143.  
  144. Grid:
  145.         grid X Y Z <ObjItem> [<ObjItem> ...]  end
  146.  
  147. List:
  148.         list <ObjItem> [<ObjItem> ...] end
  149.  
  150. Csg:
  151.         union      <Object> <Object> [<Object> ...] end
  152.         intersect  <Object> <Object> [<Object> ...] end
  153.         difference <Object> <Object> [<Object> ...] end
  154.  
  155.         /* CSG will only work properly when applied to closed objects, e.g.:
  156.          * sphere, box, torus, blob, closed Aggregate, other Csg object
  157.          */
  158.  
  159. Transforms: /* Transformations */
  160.         translate  Xtrans Ytrans Ztrans
  161.         scale      Xscale Yscale Zscale
  162.         rotate     Xaxis Yaxis Zaxis Degrees
  163.         transform  A   B   C
  164.                    D   E   F
  165.                    G   H   I
  166.                   [Xt  Yt  Zt]
  167.  
  168. Textures:
  169.         texture <TextType> [Transforms] [<Texture> [Transforms] ...]
  170.  
  171. Texture:
  172.         checker    <Surface>
  173.         blotch    Scale <Surface>
  174.         bump      Bumpscale
  175.         marble    [Colormapname]
  176.         fbm       Offset Scale H Lambda Octaves Thresh [Colormapname]
  177.         fbmbump   Offset Scale H Lambda Octaves
  178.         wood
  179.         gloss     Glossiness
  180.         cloud     Offset Scale H Lambda Octaves Cthresh Lthresh Transcale
  181.         sky       Scale H Lambda Octaves Cthresh Lthresh
  182.         stripe    <Surface> Width Bumpscale
  183.         image     Imagefile [<ImageTextOption> [<ImageTextOption> ...]]
  184.  
  185. ImageTextOption:
  186.         component <SufComp>
  187.         range     Lo Hi
  188.         smooth
  189.         textsurf  <Surface>
  190.         tile      U V
  191.         <Mapping>
  192.  
  193. SurfComp:
  194.         ambient
  195.         diffuse
  196.         reflect
  197.         transp
  198.         specular
  199.         specpow
  200.  
  201. Mapping:
  202.         map uv
  203.         map cylindrical [Xorigin Yorigin Zorigin Xup Yup Zup Xu Yu Zu] 
  204.         map planar      [Xorigin Yorigin Zorigin Xv  Yv  Zv  Xu Yu Zu]
  205.         map spherical   [Xorigin Yorigin Zorigin Xup Yup Zup Xu Yu Zu]
  206.  
  207. Light:
  208.         light R G B <LightType> [noshadow]
  209.         light Intensity <LightType> [noshadow]
  210.  
  211. LightType:
  212.         ambient
  213.         point       Xpos Ypos Zpos
  214.         directional Xdir Ydir Zdir
  215.         extended    Radius Xpos Ypos Zpos
  216.         spot        Xpos Ypos Zpos Xat Yat Zat Coef Thetain Thetaout
  217.         area        Xorigin Yorigin Zorigin Xu Yu Zu Usamples Xv Yv Zv Vsamples
  218.  
  219. RenderOption:
  220.         samples      Nsamp [jitter | nojitter]
  221.                                 /* Use Nsamp^2 pixel samples (3^2 jittered) */
  222.         background   R G B      /* Background color (0 0 0) */
  223.         outfile      Filename   /* Output file name (written to stdout) */
  224.         frames       Nframes    /* Number of frames to render (1) */
  225.         starttime    Time       /* Time corresponding to start of frame 0 */
  226.         contrast     R G B      /* Maximum contrast w/o supersampling */
  227.         maxdepth     Depth      /* Maximum ray tree depth (5) */
  228.         cutoff       Factor     /* Minium spawned ray contribution (.001) */
  229.         report [verbose] [quiet] [Freq] [Statfile]
  230.                                 /* Reporting mode (false false 10 stderr) */
  231.         shadowtransp            /* Toggle object opacity affects shadows */
  232.  
  233. Definition: /* Variable definition */
  234.         define Name Expr        /* Assign value for Name */
  235.